1. Field of the Invention
The invention relates generally to storage systems, and more specifically relates to methods and structure for online migration of data in storage systems comprising a plurality of storage devices.
2. Related Patents
This patent is related to commonly owned U.S. patent application Ser. No. 12/462,425, filed Aug. 4, 2009, entitled “Method for Optimizing Performance and Power Usage in an Archival Storage System by Utilizing Massive Array of Independent Disks (MAID) Techniques and Controlled Replication Under Scalable Hashing (CRUSH),” which is hereby incorporated by reference.
3. Discussion of Related Art
In traditional storage systems comprising a plurality of storage devices, a system administrator may select a small set of storage devices (for example, five to twenty) upon which to store a logical volume. This logical volume then functions as a single storage space that the system administrator may partition for use by users. For example, many implementations of Redundant Array of Independent Disks (RAID) define one or more logical volumes. In RAID level one, mirroring of data is provided by the use of two or more storage devices to duplicate data. In RAID level five, three or more storage devices are used to distribute data and associated redundancy information. A logical volume may be stored on multiple storage devices as a series of stripes. Stripes are logical sub-volume slices of data that may be concatenated to form host logical volumes. Stripes are stored on extents of storage devices. Extents are contiguous or noncontiguous locations on a storage device.
In newer data distribution techniques, much larger sets of storage devices may be used to store a logical volume. For example, tens to thousands of disks may be used. These newer data distribution techniques may serve to provide, for example, faster recovery from drive failures, greater uniformity of performance across logical volumes, or lower power requirements. For example, implementations of Massive Array of Idle Disks (MAID) may utilize hundreds to thousands of disks. Such MAID implementations may utilize a method known as Controlled Replication Under Scalable Hashing (CRUSH). CRUSH utilizes a hierarchical cluster map representing available storage devices in order to map logical to physical addresses and to permit migration of data. CRUSH provides for a layer of virtualization above and beyond RAID logical volumes, wherein stored data may be migrated to any set of the hundreds to thousands of storage devices. Furthermore, using CRUSH techniques, migration may occur as an online process, without interruption of host I/O requests.
Because newer data distribution techniques provide a variety of favorable advantages over older data distribution techniques, it is desirable to provide methods of upgrading existing storage systems from older to newer data distribution techniques.
Traditionally, several methods have been used to upgrade existing storage systems. In a first method, a system administrator must halt all user applications, back up user data, upgrade the system, and then restore the data onto the upgraded system. One of ordinary skill in the art will appreciate that this process incurs a significant service interruption for users (e.g., “down-time”). For example, the interruption period could take one or more days, during which data on the storage system is inaccessible. Such significant downtime is problematic in many applications where reliable access to data is required.
According to another method of upgrading existing storage systems, a system administrator may update the system infrastructure to support both older and newer data distribution techniques. The system administrator must then define a new logical volume using a set of storage devices having at least the same capacity as the old set of storage devices storing the old logical volume. The new set of storage devices must be distinct from the old set of storage devices. The system administrator then migrates the data from the old storage devices to the new storage devices. Such techniques are undesirable because they require an entirely new set of storage devices to be used for the migration process, and thereby require a great deal of excess capacity within the system.
Thus, it is an ongoing challenge to provide methods and systems for upgrading the operational infrastructure for data distribution of logical volumes in a storage system in a manner that both reduces downtime and is space-efficient.